package com.bsj.power.common.def.dto.video;

import com.bsj.power.common.def.dto.media.BackVodParam;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;

/**
 * @Description 指令转发mq实体
 * @Author zhaoyang
 * @Date 2023/6/19 14:40
 */
@Data
@NoArgsConstructor
public class CmdToMqDto {

    /**
     * 车辆id
     */
    private Long vehicleId;

    /**
     * 设备号
     */
    private String terminalNo;

    /**
     * 指令 0 直播  1回放
     */
    private Integer cmd;

    /**
     * 控制类型 0:播放 1:关闭 2:控制
     */
    private Integer control;

    /**
     * 回放控制对象
     */
    private BackVodControl backVodControl;
    /**
     * 回放开始
     */
    private BackVodParam backVodParam;

    /**
     * 处理类型，空或 1 为用户主动，2为系统自动关闭
     */
    private Integer handleType;

    /**
     * 逻辑通道号
     */
    private Integer channelNo;

    /**
     * 直播分辨率
     */
    private String resolutionRatio;

    /**
     * uuid会话id
     */
    private String uuid;

    /**
     * 事件类型 1:图片抓拍 2:视频抓拍 99.视频下载
     */
    private Integer eventType;

    public CmdToMqDto(Long vehicleId, String terminalNo, Integer cmd, Integer control) {
        this.vehicleId = vehicleId;
        this.terminalNo = terminalNo;
        this.cmd = cmd;
        this.control = control;
    }

    public CmdToMqDto(Long vehicleId, String terminalNo, Integer cmd, Integer control, String uuid, Integer channelNo) {
        this.vehicleId = vehicleId;
        this.terminalNo = terminalNo;
        this.cmd = cmd;
        this.control = control;
        this.uuid = uuid;
        this.channelNo = channelNo;
    }

    public CmdToMqDto(Long vehicleId, String terminalNo, Integer cmd,
                      Integer control, String uuid, Integer channelNo, String resolutionRatio) {
        this.vehicleId = vehicleId;
        this.terminalNo = terminalNo;
        this.cmd = cmd;
        this.control = control;
        this.uuid = uuid;
        this.channelNo = channelNo;
    }



}
